1 package com.inigoserrano.isvalidator.alfa.examples;
2
3 import java.io.IOException;
4 import java.io.PrintWriter;
5 import java.util.Hashtable;
6
7 import javax.servlet.ServletException;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10
11 import com.inigoserrano.isvalidator.alfa.formModel.TextField;
12 import com.inigoserrano.isvalidator.alfa.okDo.SimpleTextFieldOkDo;
13 import com.inigoserrano.isvalidator.check.DateCheck;
14 import com.inigoserrano.isvalidator.check.EmailCheck;
15 import com.inigoserrano.isvalidator.check.RegularExpresionCheck;
16 import com.inigoserrano.isvalidator.dataGroup.ServletParametersDataGroup;
17 import com.inigoserrano.isvalidator.errorDo.ErrorDoGroup;
18 import com.inigoserrano.isvalidator.errorDo.ErrorDoInternalException;
19 import com.inigoserrano.isvalidator.errorDo.SimpleErrorDo;
20 import com.inigoserrano.isvalidator.errorDo.SimpleErrorDoGroup;
21
22 /***
23 * Here the description of the class
24 *
25 * @license@
26 *
27 * @version @version@
28 * @author @author@
29 */
30 public class exampleServletParameterMetaContainer extends javax.servlet.http.HttpServlet {
31 /***
32 * Here the documentation
33 */
34 public exampleServletParameterMetaContainer() {
35 super();
36 }
37
38 private void paintInValidData(ServletParametersDataGroup inValidData, PrintWriter out)
39 throws ErrorDoInternalException {
40 System.out.println("Not Ok");
41 Hashtable errorMessages = new Hashtable();
42 errorMessages.put("EmailConstraint", "The argument $parameter; with value ($valueToCheck;) is not a valid email");
43 errorMessages.put("RegularExpresionConstraint", "The argument ($valueToCheck;) has an invalid size");
44 errorMessages.put("DateConstraint", "The argument ($valueToCheck;) is not a valid date");
45 errorMessages.put("NotNullConstraint", "You havenīt put all the parameters");
46 errorMessages.put("NotBlankConstraint", "You have put a blank parameter");
47 inValidData.setErrorDo(new SimpleErrorDo (errorMessages),
48 new SimpleErrorDoGroup ());
49 ErrorDoGroup errorContainer = inValidData.getErrorDoGroup();
50
51 /* Enumeration iterator = errorContainer.elements();
52 while (iterator.hasMoreElements()) {
53 out.println(((InvalidConstraintProcesor) iterator.nextElement()).getMessage());
54 }*/
55
56 try {
57 if (inValidData.getData("email").match())
58 out.println(inValidData.getData("email").executeOkDo(
59 new SimpleTextFieldOkDo()));
60 // else
61 // out.println(inValidData.getConstraintContainer("email").executeInValidConstraintProcesor());
62 } catch (Exception e) {
63 e.printStackTrace(out);
64 }
65 }
66
67 private void paintValidData(ServletParametersDataGroup validData, PrintWriter out) {
68 try {
69 out.println(validData.getData("email").executeOkDo(
70 new SimpleTextFieldOkDo()));
71 out.println(validData.getData("subject").executeOkDo(
72 new SimpleTextFieldOkDo()));
73 out.println(validData.getData("date").executeOkDo(
74 new SimpleTextFieldOkDo()));
75 out.println(validData.getData("body").executeOkDo(
76 new SimpleTextFieldOkDo()));
77 } catch (Exception e) {
78 e.printStackTrace(out);
79 }
80 }
81
82 public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
83 PrintWriter out = res.getWriter();
84 res.setContentType("text/plain");
85 try {
86 //For the email
87 TextField theEmail = new TextField("email", req);
88 theEmail.setHelpDescripcion("Fill this field with the email where send the message");
89 theEmail.addCheck(new EmailCheck());
90 theEmail.addCheck(new RegularExpresionCheck(".{1,100}"));
91 //For the subject
92 TextField theSubject = new TextField("subject", req);
93 theSubject.setHelpDescripcion("Fill this field with the subject of the message");
94 theSubject.addCheck(new RegularExpresionCheck(".{1,255}"));
95 //For the Date
96 TextField theDate = new TextField("date", req);
97 theDate.setHelpDescripcion("Fill this field with the date of send");
98 theDate.addCheck(new DateCheck());
99 //For the Body
100 TextField theBody = new TextField("body", req);
101 theBody.setHelpDescripcion("Fill this field with the body of the message");
102 theBody.addCheck(new RegularExpresionCheck(".{1,1000}"));
103 //The meta container
104 ServletParametersDataGroup inputParameters = new ServletParametersDataGroup();
105 inputParameters.addData(theEmail);
106 inputParameters.addData(theSubject);
107 inputParameters.addData(theDate);
108 inputParameters.addData(theBody);
109 if (inputParameters.check()) {
110 paintValidData(inputParameters, out);
111 out.flush();
112 } else {
113 paintInValidData(inputParameters, out);
114 out.flush();
115 }
116 } catch (Exception e) {
117 e.printStackTrace(out);
118 }
119 }
120 }
This page was automatically generated by Maven